/**
* @author xy
* @Date 2024-01-08 10:38:28
* @description 抖音消息(评论管理、私聊管理)
*/
package cn.jobstart.model;

import cn.jobstart.pubInter.BaseTimeDoMain;
import java.util.Date;
import javax.validation.constraints.*;
import org.hibernate.validator.constraints.Length;

public class DouyinMessage extends BaseTimeDoMain {
    /**
     * 来源
     */
    private Integer source;

    /**
     * 排序
     */
    private Integer sortNum = 0;

    /**
     * 是否显示
     * 1:是:Y,0:否:N
     */
    private Integer showFlag = 1;

    /**
     * 是否删除
     * 1:删除:Y,0:正常:N
     */
    private Integer delFlag = 0;

    /**
     * 版本
     */
    private Integer version;

    /**
     * 消息类型
     * 0:评论:comment,1:私聊:secret_talk,2:回复评论:reply
     */
    private Integer type;

    /**
     * 回复状态
     * 0:未回复:un_reply,1:已回复:replied
     */
    private Integer status;

    /**
     * 根据消息类型 存放对应业务id
     */
    @Length(max=50,message="根据消息类型 存放对应业务id长度最大值50")
    private String itemId;

    /**
     * 消息来源的user_id
     */
    @Length(max=50,message="消息来源的user_id长度最大值50")
    private String fromUserId;

    /**
     * 评论创建时间
     */
    private Date commentCreateTime;

    /**
     * 该评论的点赞数
     */
    private Integer diggCount;

    /**
     * 该评论的回复数量
     */
    private Integer replyCommentTotal;

    /**
     * 视频id
     */
    @Length(max=50,message="视频id长度最大值50")
    private String videoId;

    /**
     * 员工账号唯一标识
     */
    @Length(max=50,message="员工账号唯一标识长度最大值50")
    private String openId;

    /**
     * 消息目的user_id 抖音
     */
    @Length(max=50,message="消息目的user_id 抖音长度最大值50")
    private String toUserId;

    /**
     * 是否置顶
     * 1:置顶:top,0:未置顶:un_top
     */
    private Integer topFlag;

    /**
     * 内容模板id
     */
    @Length(max=50,message="内容模板id长度最大值50")
    private String messageTemplateId;

    /**
     * 该评论回复的评论的评论id
     */
    @Length(max=50,message="该评论回复的评论的评论id长度最大值50")
    private String replyCommentId;

    /**
     * 系统用户id
     */
    @Length(max=50,message="系统用户id长度最大值50")
    private String userId;

    /**
     * 抖音用户头像url
     */
    @Length(max=300,message="抖音用户头像url长度最大值300")
    private String avatar;

    /**
     * 抖音用户昵称
     */
    @Length(max=100,message="抖音用户昵称长度最大值100")
    private String nickName;

    /**
     * 会话 ID
     */
    @Length(max=100,message="会话 ID长度最大值100")
    private String conversationShortId;

    /**
     * 消息 ID
     */
    @Length(max=100,message="消息 ID长度最大值100")
    private String serverMessageId;

    /**
     * 内容
     */
    private String content;

     /**
     *主键
     */
    public static final String ID = "douyin_message.dm_id";

     /**
     *来源
     */
    public static final String SOURCE = "douyin_message.dm_source";

     /**
     *创建时间
     */
    public static final String CREATE_TIME = "douyin_message.dm_create_time";

     /**
     *更新时间
     */
    public static final String UPDATE_TIME = "douyin_message.dm_update_time";

     /**
     *排序
     */
    public static final String SORT_NUM = "douyin_message.dm_sort_num";

     /**
     *是否显示
     */
    public static final String SHOW_FLAG = "douyin_message.dm_show_flag";

     /**
     *是否删除
     */
    public static final String DEL_FLAG = "douyin_message.dm_del_flag";

     /**
     *版本
     */
    public static final String VERSION = "douyin_message.dm_version";

     /**
     *消息类型
     */
    public static final String TYPE = "douyin_message.dm_type";

     /**
     *回复状态
     */
    public static final String STATUS = "douyin_message.dm_status";

     /**
     *根据消息类型 存放对应业务id
     */
    public static final String ITEM_ID = "douyin_message.dm_item_id";

     /**
     *消息来源的user_id
     */
    public static final String FROM_USER_ID = "douyin_message.dm_from_user_id";

     /**
     *评论创建时间
     */
    public static final String COMMENT_CREATE_TIME = "douyin_message.dm_comment_create_time";

     /**
     *该评论的点赞数
     */
    public static final String DIGG_COUNT = "douyin_message.dm_digg_count";

     /**
     *该评论的回复数量
     */
    public static final String REPLY_COMMENT_TOTAL = "douyin_message.dm_reply_comment_total";

     /**
     *视频id
     */
    public static final String VIDEO_ID = "douyin_message.dm_video_id";

     /**
     *员工账号唯一标识
     */
    public static final String OPEN_ID = "douyin_message.dm_open_id";

     /**
     *消息目的user_id 抖音
     */
    public static final String TO_USER_ID = "douyin_message.dm_to_user_id";

     /**
     *是否置顶
     */
    public static final String TOP_FLAG = "douyin_message.dm_top_flag";

     /**
     *内容模板id
     */
    public static final String MESSAGE_TEMPLATE_ID = "douyin_message.dm_message_template_id";

     /**
     *该评论回复的评论的评论id
     */
    public static final String REPLY_COMMENT_ID = "douyin_message.dm_reply_comment_id";

     /**
     *系统用户id
     */
    public static final String USER_ID = "douyin_message.dm_user_id";

     /**
     *抖音用户头像url
     */
    public static final String AVATAR = "douyin_message.dm_avatar";

     /**
     *抖音用户昵称
     */
    public static final String NICK_NAME = "douyin_message.dm_nick_name";

     /**
     *会话 ID
     */
    public static final String CONVERSATION_SHORT_ID = "douyin_message.dm_conversation_short_id";

     /**
     *消息 ID
     */
    public static final String SERVER_MESSAGE_ID = "douyin_message.dm_server_message_id";

     /**
     *内容
     */
    public static final String CONTENT = "douyin_message.dm_content";

     /**
     *填充detail key
     */
    public static final String DOUYIN_MESSAGE_FULL_DETAIL_KEY = "DOUYIN_MESSAGE_FULL_DETAIL";

     /**
     *填充list key
     */
    public static final String DOUYIN_MESSAGE_FULL_LIST_KEY = "DOUYIN_MESSAGE_FULL_LIST";

    /**
     * 获取来源
     *
     * @return dm_source - 来源
     */
    public Integer getSource() {
        return source;
    }

    /**
     * 设置来源
     *
     * @param source 来源
     */
    public DouyinMessage setSource(Integer source) {
        this.source = source;
        return this;
    }

    /**
     * 获取排序
     *
     * @return dm_sort_num - 排序
     */
    public Integer getSortNum() {
        return sortNum;
    }

    /**
     * 设置排序
     *
     * @param sortNum 排序
     */
    public DouyinMessage setSortNum(Integer sortNum) {
        this.sortNum = sortNum;
        return this;
    }

    /**
     * 获取是否显示
     *
     * @return dm_show_flag - 是否显示
     */
    public Integer getShowFlag() {
        return showFlag;
    }

    /**
     * 设置是否显示
     * 1:是:Y,0:否:N
     *
     * @param showFlag 是否显示
     */
    public DouyinMessage setShowFlag(Integer showFlag) {
        this.showFlag = showFlag;
        return this;
    }

    /**
     * 获取是否删除
     *
     * @return dm_del_flag - 是否删除
     */
    public Integer getDelFlag() {
        return delFlag;
    }

    /**
     * 设置是否删除
     * 1:删除:Y,0:正常:N
     *
     * @param delFlag 是否删除
     */
    public DouyinMessage setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
        return this;
    }

    /**
     * 获取版本
     *
     * @return dm_version - 版本
     */
    public Integer getVersion() {
        return version;
    }

    /**
     * 设置版本
     *
     * @param version 版本
     */
    public DouyinMessage setVersion(Integer version) {
        this.version = version;
        return this;
    }

    /**
     * 获取消息类型
     *
     * @return dm_type - 消息类型
     */
    public Integer getType() {
        return type;
    }

    /**
     * 设置消息类型
     * 0:评论:comment,1:私聊:secret_talk,2:回复评论:reply
     *
     * @param type 消息类型
     */
    public DouyinMessage setType(Integer type) {
        this.type = type;
        return this;
    }

    /**
     * 获取回复状态
     *
     * @return dm_status - 回复状态
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 设置回复状态
     * 0:未回复:un_reply,1:已回复:replied
     *
     * @param status 回复状态
     */
    public DouyinMessage setStatus(Integer status) {
        this.status = status;
        return this;
    }

    /**
     * 获取根据消息类型 存放对应业务id
     *
     * @return dm_item_id - 根据消息类型 存放对应业务id
     */
    public String getItemId() {
        return itemId;
    }

    /**
     * 设置根据消息类型 存放对应业务id
     *
     * @param itemId 根据消息类型 存放对应业务id
     */
    public DouyinMessage setItemId(String itemId) {
        this.itemId = itemId == null ? null : itemId.trim();
        return this;
    }

    /**
     * 获取消息来源的user_id
     *
     * @return dm_from_user_id - 消息来源的user_id
     */
    public String getFromUserId() {
        return fromUserId;
    }

    /**
     * 设置消息来源的user_id
     *
     * @param fromUserId 消息来源的user_id
     */
    public DouyinMessage setFromUserId(String fromUserId) {
        this.fromUserId = fromUserId == null ? null : fromUserId.trim();
        return this;
    }

    /**
     * 获取评论创建时间
     *
     * @return dm_comment_create_time - 评论创建时间
     */
    public Date getCommentCreateTime() {
        return commentCreateTime;
    }

    /**
     * 设置评论创建时间
     *
     * @param commentCreateTime 评论创建时间
     */
    public DouyinMessage setCommentCreateTime(Date commentCreateTime) {
        this.commentCreateTime = commentCreateTime;
        return this;
    }

    /**
     * 获取该评论的点赞数
     *
     * @return dm_digg_count - 该评论的点赞数
     */
    public Integer getDiggCount() {
        return diggCount;
    }

    /**
     * 设置该评论的点赞数
     *
     * @param diggCount 该评论的点赞数
     */
    public DouyinMessage setDiggCount(Integer diggCount) {
        this.diggCount = diggCount;
        return this;
    }

    /**
     * 获取该评论的回复数量
     *
     * @return dm_reply_comment_total - 该评论的回复数量
     */
    public Integer getReplyCommentTotal() {
        return replyCommentTotal;
    }

    /**
     * 设置该评论的回复数量
     *
     * @param replyCommentTotal 该评论的回复数量
     */
    public DouyinMessage setReplyCommentTotal(Integer replyCommentTotal) {
        this.replyCommentTotal = replyCommentTotal;
        return this;
    }

    /**
     * 获取视频id
     *
     * @return dm_video_id - 视频id
     */
    public String getVideoId() {
        return videoId;
    }

    /**
     * 设置视频id
     *
     * @param videoId 视频id
     */
    public DouyinMessage setVideoId(String videoId) {
        this.videoId = videoId == null ? null : videoId.trim();
        return this;
    }

    /**
     * 获取员工账号唯一标识
     *
     * @return dm_open_id - 员工账号唯一标识
     */
    public String getOpenId() {
        return openId;
    }

    /**
     * 设置员工账号唯一标识
     *
     * @param openId 员工账号唯一标识
     */
    public DouyinMessage setOpenId(String openId) {
        this.openId = openId == null ? null : openId.trim();
        return this;
    }

    /**
     * 获取消息目的user_id 抖音
     *
     * @return dm_to_user_id - 消息目的user_id 抖音
     */
    public String getToUserId() {
        return toUserId;
    }

    /**
     * 设置消息目的user_id 抖音
     *
     * @param toUserId 消息目的user_id 抖音
     */
    public DouyinMessage setToUserId(String toUserId) {
        this.toUserId = toUserId == null ? null : toUserId.trim();
        return this;
    }

    /**
     * 获取是否置顶
     *
     * @return dm_top_flag - 是否置顶
     */
    public Integer getTopFlag() {
        return topFlag;
    }

    /**
     * 设置是否置顶
     * 1:置顶:top,0:未置顶:un_top
     *
     * @param topFlag 是否置顶
     */
    public DouyinMessage setTopFlag(Integer topFlag) {
        this.topFlag = topFlag;
        return this;
    }

    /**
     * 获取内容模板id
     *
     * @return dm_message_template_id - 内容模板id
     */
    public String getMessageTemplateId() {
        return messageTemplateId;
    }

    /**
     * 设置内容模板id
     *
     * @param messageTemplateId 内容模板id
     */
    public DouyinMessage setMessageTemplateId(String messageTemplateId) {
        this.messageTemplateId = messageTemplateId == null ? null : messageTemplateId.trim();
        return this;
    }

    /**
     * 获取该评论回复的评论的评论id
     *
     * @return dm_reply_comment_id - 该评论回复的评论的评论id
     */
    public String getReplyCommentId() {
        return replyCommentId;
    }

    /**
     * 设置该评论回复的评论的评论id
     *
     * @param replyCommentId 该评论回复的评论的评论id
     */
    public DouyinMessage setReplyCommentId(String replyCommentId) {
        this.replyCommentId = replyCommentId == null ? null : replyCommentId.trim();
        return this;
    }

    /**
     * 获取系统用户id
     *
     * @return dm_user_id - 系统用户id
     */
    public String getUserId() {
        return userId;
    }

    /**
     * 设置系统用户id
     *
     * @param userId 系统用户id
     */
    public DouyinMessage setUserId(String userId) {
        this.userId = userId == null ? null : userId.trim();
        return this;
    }

    /**
     * 获取抖音用户头像url
     *
     * @return dm_avatar - 抖音用户头像url
     */
    public String getAvatar() {
        return avatar;
    }

    /**
     * 设置抖音用户头像url
     *
     * @param avatar 抖音用户头像url
     */
    public DouyinMessage setAvatar(String avatar) {
        this.avatar = avatar == null ? null : avatar.trim();
        return this;
    }

    /**
     * 获取抖音用户昵称
     *
     * @return dm_nick_name - 抖音用户昵称
     */
    public String getNickName() {
        return nickName;
    }

    /**
     * 设置抖音用户昵称
     *
     * @param nickName 抖音用户昵称
     */
    public DouyinMessage setNickName(String nickName) {
        this.nickName = nickName == null ? null : nickName.trim();
        return this;
    }

    /**
     * 获取会话 ID
     *
     * @return dm_conversation_short_id - 会话 ID
     */
    public String getConversationShortId() {
        return conversationShortId;
    }

    /**
     * 设置会话 ID
     *
     * @param conversationShortId 会话 ID
     */
    public DouyinMessage setConversationShortId(String conversationShortId) {
        this.conversationShortId = conversationShortId == null ? null : conversationShortId.trim();
        return this;
    }

    /**
     * 获取消息 ID
     *
     * @return dm_server_message_id - 消息 ID
     */
    public String getServerMessageId() {
        return serverMessageId;
    }

    /**
     * 设置消息 ID
     *
     * @param serverMessageId 消息 ID
     */
    public DouyinMessage setServerMessageId(String serverMessageId) {
        this.serverMessageId = serverMessageId == null ? null : serverMessageId.trim();
        return this;
    }

    /**
     * 获取内容
     *
     * @return dm_content - 内容
     */
    public String getContent() {
        return content;
    }

    /**
     * 设置内容
     *
     * @param content 内容
     */
    public DouyinMessage setContent(String content) {
        this.content = content == null ? null : content.trim();
        return this;
    }
}